package com.turing.post.organization.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * 凭证入库单明细接口
 * 
 * @author wzd
 * @2013-03-13
 */
@Remote
@Local
public interface VoucherInStockOrderDetailDao {

	/**
	 * 根据条件查询凭证入库单明细列表
	 * 
	 * @param voucherInStockOrderId
	 *            入库单ID
	 * @param page
	 *            页码
	 * @return 凭证入库单明细列表
	 */
	public List<VoucherInStockOrderDetail> getVoucherInStockOrderDetailByVoucherInStockOrderId(
			PCPSWebInput webInput, String voucherInStockOrderId, Integer page);

	/**
	 * 根据条件查询凭证入库单明细
	 * 
	 * @param voucherInStockOrderId
	 *            入库单ID
	 * @return 凭证入库单明细记录数
	 */
	public BigInteger getVoucherInStockOrderDetailByVoucherInStockOrderIdTotal(
			PCPSWebInput webInput, String voucherInStockOrderId);

	/**
	 * 新增凭证入库单明细
	 * 
	 * @param VoucherInStockOrderDetail
	 *            凭证入库单明细
	 * @throws PCPSApplicationException
	 */
	public void insertVoucherInStockOrderDetail(
			VoucherInStockOrderDetail voucherInStockOrderDetail)
			throws PCPSApplicationException;

	/**
	 * 根据条件查询凭证入库单明细列表
	 * 
	 * @param voucherInStockOrderId
	 *            入库单ID
	 * @return 凭证入库单明细列表
	 */
	public List<VoucherInStockOrderDetail> getVoucherInStockOrderDetailByVoucherInStockOrderIdNotPage(
			PCPSWebInput webInput, BigInteger voucherInStockOrderId);
   /**
    * 根据序号段和凭证id查询号段是否存在
    */
	public BigInteger IsSeqNo(PCPSWebInput webInput, BigInteger voucherId ,String startseqno,String endseqno);
}
